<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <p></p>
    <p></p>
    <p></p>

    <script>

        // 展开运算符   ...

        //    展开数组或者对象
        //        实现数组或者对象的深复制(一维)
        //        实现伪数组转真数组
        //    取代arguments  



        const arr = [1,2,3] ;
        // 把arr中的值展开   --- 实现的是深复制
        const arr2 = [...arr] ;
        console.log(arr2);

        arr.push('q') ;

        console.log(arr2);



        const obj = {a : 1 , b : 2} ;

        const obj2 = {...obj , c:3} ;

        console.log(obj2);



        // const sum = () => {
        //     console.log(arguments);  // 报错
        // }


        // 把实参列表展开存到arr这个数组中
        const sum = (...arr) => {
            console.log(arr);  // 接受实参   是一个真数组
        }

        sum(1,2,3,4,5) ;


        // 伪数组转真数组


        const oPs = document.querySelectorAll('p') ;
        const arr3 = [...oPs] ;
        console.log(arr3);


    </script>
    
</body>
</html>